package vip.liux.backend.application.serviceImpl.account;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import vip.liux.backend.application.service.account.AccountAppService;
import vip.liux.backend.application.service.account.dtos.*;

@Service
public class AccountAppServiceImpl implements AccountAppService {
    private static final Logger log = LoggerFactory.getLogger(AccountAppServiceImpl.class);

    /**
     * 注册新用户
     *
     * @param input 注册信息
     */
    @Override
    public void register(RegisterDto input) {
        // todo 检查是否启用注册功能
        log.info("注册新用户: {}", input);
    }

    /**
     * 发送密码重置码
     *
     * @param input 密码重置码信息
     */
    @Override
    public void sendPasswordResetCode(SendPasswordResetCodeDto input) {

    }

    /**
     * 重置密码
     *
     * @param input 重置密码信息
     */
    @Override
    public void resetPassword(ResetPasswordDto input) {

    }

    /**
     * 发送手机号确认令牌
     *
     * @param input 手机号确认令牌信息
     */
    @Override
    public void sendPhoneNumberConfirmationToken(SendPhoneNumberConfirmationTokenDto input) {

    }

    /**
     * 发送邮箱确认令牌
     *
     * @param input 邮箱确认令牌信息
     */
    @Override
    public void sendEmailConfirmationToken(SendEmailConfirmationTokenDto input) {

    }

    /**
     * 确认手机号
     *
     * @param input 确认手机号信息
     */
    @Override
    public void confirmPhoneNumber(ConfirmPhoneNumberInput input) {

    }

    /**
     * 确认邮箱
     *
     * @param input 确认邮箱信息
     */
    @Override
    public void confirmEmail(ConfirmEmailInput input) {

    }

    /**
     * 设置用户头像
     *
     * @param input 用户头像信息
     */
    @Override
    public void setProfilePicture(ProfilePictureInput input) {

    }

    /**
     * 根据ID获取用户头像
     *
     * @param id 头像ID
     * @return 用户头像信息
     */
    @Override
    public ProfilePictureSourceDto getProfilePicture(Long id) {
        return null;
    }

    /**
     * 发送邮箱安全码
     *
     * @param input 邮箱安全码信息
     */
    @Override
    public void sendEmailSecurityCode(SendEmailSecurityCodeDto input) {

    }

    /**
     * 发送手机安全码
     *
     * @param input 手机安全码信息
     */
    @Override
    public void sendPhoneSecurityCode(SendPhoneSecurityCodeDto input) {

    }
}
